package com.itfenghuang.day10;

/**
 * IO总结
 */
public class A03_IO流总结 {
    /**
     * 1.File
     *      操作文件和文件夹  文件/文件夹的创建和删除
     *      构造方法:字符串的路径
     *      常用方法: 创建方法,删除方法,获取和判断
     *          递归删除多级文件夹使用
     *          掌握递归删除文件夹,
     *          步骤: 1.进入 2.获取该文件夹的子文件和子文件夹的数组 3.判断
     * 2.FileOutputStream
     *      字节输出流
     *      构造方法:
     *      成员方法:writer() 重载的方法   写出一个字节数组的一部分  写出一个字节  写出一个字节数组
     * 3.FileInputStream
     *      字节输入流
     *      构造方法: 参数:File file     或字符串路径
     *      成员方法:int read()   重载
     *                          读入的数据在哪里            返回值代表什么
     *      读一个字节数组,          传入的数组中                如果未到末尾,返回值读了多少字节, 如果读到末尾 -1
     *      读一个字节,              ----                      读的数据,末尾返回-1
     *      读一个字节数组的一部分
     *    使用循环读入数据
     *  文件复制:  2种方式    1.读写一个字节  2.读写一个字节数组
     *4.异常处理
     *      throws    try-catch-finally
     *5.字节缓冲流
     *      输入流:
     *          BufferedInputStream
     *           构造方法: 字节流
     *           成员方法:
     *      输出流:
     *          BufferedOutputStream
     *          构造方法: 字节流
     *      *   成员方法:
     *   比字节流多了一个缓冲区,能够减少内存和磁盘的交互次数,提高读写的效率
     *   其实底层还是字节流,仅仅是多了一块缓冲区
     *6.字符流
     *      字节流读中文的时候会出现乱码问题
     *      输入流:
     *          FileReader
     *          构造方法:
     *          成员方法:  read()
     *                                      参数                      返回值
     *          一次读取一个字符                ---                     读取的字符数据  末尾-1
     *          一次读取一个字符数组          字符数组,用来保存读入的数据      读取的字符数量  末尾-1
     *          一次读取一个字符数组的一部分
     *      输出流:
     *          FileWriter
     *              构造方法:
     *              成员方法: writer() 一次写一个字符,一次写一个字符数组,一次写一个字符串
     *              flush() 和 close()   区别
     *7.字符缓冲流
     *      输入流:
     *          BufferedReader
     *              构造方法:
     *              成员方法:  特有的方法 String readLine()   读取一行   找的是换行符  末尾  null
     *      输出流:
     *          BufferedWriter
     *              构造方法:
     *              成员方法: 特有的方法 newLine()  写出一个换行符  根据操作系统自动匹配
     *8.序列化流    转换流  Properties  多人聊天的小项目
     */
}
